<!DOCTYPE HTML>
<html lang="en-US" >
    
    <head>
        
        <meta charset="UTF-8">
        <title>2016.12 | 微信十年</title>
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <meta name="description" content="">
        <meta name="generator" content="GitBook 1.0.3">
        <meta name="HandheldFriendly" content="true"/>
        <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
        <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
        
    
    
    
    <link rel="next" href="../201801/README.html" />
    
    
    <link rel="prev" href="../201601/README.html" />
    

        
    </head>
    <body>
        
        
<link rel="stylesheet" href="../gitbook/style.css">


        
    <div class="book"  data-level="4" data-basepath=".." data-revision="1611344255595">
    

<div class="book-summary">
    <div class="book-search">
        <input type="text" placeholder="Type to search" class="form-control" />
    </div>
    <ul class="summary">
        
    	
    	
    	

        

        
    
        
        <li class="chapter " data-level="0" data-path="index.html">
            
                
                    <a href="../index.html">
                        <i class="fa fa-check"></i>
                        
                         Introduction
                    </a>
                
            
            
        </li>
    
        
        <li class="chapter " data-level="1" data-path="201207/README.html">
            
                
                    <a href="../201207/README.html">
                        <i class="fa fa-check"></i>
                        
                            <b>1.</b>
                        
                         2012.07
                    </a>
                
            
            
        </li>
    
        
        <li class="chapter " data-level="2" data-path="201412/README.html">
            
                
                    <a href="../201412/README.html">
                        <i class="fa fa-check"></i>
                        
                            <b>2.</b>
                        
                         2014.12
                    </a>
                
            
            
        </li>
    
        
        <li class="chapter " data-level="3" data-path="201601/README.html">
            
                
                    <a href="../201601/README.html">
                        <i class="fa fa-check"></i>
                        
                            <b>3.</b>
                        
                         2016.01
                    </a>
                
            
            
        </li>
    
        
        <li class="chapter active" data-level="4" data-path="201612/README.html">
            
                
                    <a href="../201612/README.html">
                        <i class="fa fa-check"></i>
                        
                            <b>4.</b>
                        
                         2016.12
                    </a>
                
            
            
        </li>
    
        
        <li class="chapter " data-level="5" data-path="201801/README.html">
            
                
                    <a href="../201801/README.html">
                        <i class="fa fa-check"></i>
                        
                            <b>5.</b>
                        
                         2018.01
                    </a>
                
            
            
        </li>
    
        
        <li class="chapter " data-level="6" data-path="201901/README.html">
            
                
                    <a href="../201901/README.html">
                        <i class="fa fa-check"></i>
                        
                            <b>6.</b>
                        
                         2019.01
                    </a>
                
            
            
        </li>
    
        
        <li class="chapter " data-level="7" data-path="202001/README.html">
            
                
                    <a href="../202001/README.html">
                        <i class="fa fa-check"></i>
                        
                            <b>7.</b>
                        
                         2020.01
                    </a>
                
            
            
        </li>
    
        
        <li class="chapter " data-level="8" data-path="202101/README.html">
            
                
                    <a href="../202101/README.html">
                        <i class="fa fa-check"></i>
                        
                            <b>8.</b>
                        
                         2021.01
                    </a>
                
            
            
        </li>
    


        
        <li class="divider"></li>
        <li>
            <a href="http://www.gitbook.io/" target="blank" class="gitbook-link">Published using GitBook</a>
        </li>
        
    </ul>
</div>

    <div class="book-body">
        <div class="body-inner">
            <div class="book-header">
    <!-- Actions Left -->
    <a href="#" class="btn pull-left toggle-summary" aria-label="Toggle summary"><i class="fa fa-align-justify"></i></a>
    <a href="#" class="btn pull-left toggle-search" aria-label="Toggle search"><i class="fa fa-search"></i></a>
    
    <div id="font-settings-wrapper" class="dropdown pull-left">
        <a href="#" class="btn toggle-dropdown" aria-label="Toggle font settings"><i class="fa fa-font"></i>
        </a>
        <div class="dropdown-menu font-settings">
    <div class="dropdown-caret">
        <span class="caret-outer"></span>
        <span class="caret-inner"></span>
    </div>

    <div class="buttons">
        <button type="button" id="reduce-font-size" class="button size-2">A</button>
        <button type="button" id="enlarge-font-size" class="button size-2">A</button>
    </div>

    <div class="buttons font-family-list">
        <button type="button" data-font="0" class="button">Serif</button>
        <button type="button" data-font="1" class="button">Sans</button>
    </div>

    <div class="buttons color-theme-list">
        <button type="button" id="color-theme-preview-0" class="button size-3" data-theme="0">White</button>
        <button type="button" id="color-theme-preview-1" class="button size-3" data-theme="1">Sepia</button>
        <button type="button" id="color-theme-preview-2" class="button size-3" data-theme="2">Night</button>
    </div>
</div>

    </div>

    <!-- Actions Right -->
    
    <div class="dropdown pull-right">
        <a href="#" class="btn toggle-dropdown" aria-label="Toggle share dropdown"><i class="fa fa-share-alt"></i>
        </a>
        <div class="dropdown-menu font-settings dropdown-left">
            <div class="dropdown-caret">
                <span class="caret-outer"></span>
                <span class="caret-inner"></span>
            </div>
            <div class="buttons">
                <button type="button" data-sharing="twitter" class="button">Twitter</button>
                <button type="button" data-sharing="google-plus" class="button">Google</button>
                <button type="button" data-sharing="facebook" class="button">Facebook</button>
                <button type="button" data-sharing="weibo" class="button">Weibo</button>
                <button type="button" data-sharing="instapaper" class="button">Instapaper</button>
            </div>
        </div>
    </div>
    

    
    <a href="#" target="_blank" class="btn pull-right google-plus-sharing-link sharing-link" data-sharing="google-plus" aria-label="Share on Google Plus"><i class="fa fa-google-plus"></i></a>
    
    
    <a href="#" target="_blank" class="btn pull-right facebook-sharing-link sharing-link" data-sharing="facebook" aria-label="Share on Facebook"><i class="fa fa-facebook"></i></a>
    
    
    <a href="#" target="_blank" class="btn pull-right twitter-sharing-link sharing-link" data-sharing="twitter" aria-label="Share on Twitter"><i class="fa fa-twitter"></i></a>
    
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="../" >微信十年</a>
    </h1>
</div>

            <div class="page-wrapper" tabindex="-1">
                <div class="page-inner">
                
                
                    <section class="normal" id="section-gitbook_14">
                    
                        <h1 id="201612">2016.12</h1>
<p>各位朋友，大家早上好！我是张小龙。</p>
<p>非常感谢大家一大早来到广州参加微信公开课。</p>
<p>去年公开课是我第一次露面，并且在去年差不多这个时候时候宣布了我们的小程序要启动并且准备投入到公众号之外新的一种服务的形态里面去。今年，我的同事问我说要不要今年继续来参加公开课，给大家做一些对于去年说的小程序的一些新的进展介绍，我其实也想了很久，最后我觉得作为对去年的一个回应，我内心里是非常的激动，可能很多朋友知道微信的历史，对于我们的产品来说，我们很少会把一个还没有做的一个功能或者说一种产品形态预先对外界来透露，我们一般都是先做好了一个东西，然后去发布，给用户带来惊喜。</p>
<p>去年的小程序，也就是现在的小程序是这里面比较特别的一次，我们提前就对外界来透露了。一张照片，回顾小程序的一年发展历程这几天我在准备这一次讲话的内容的时候，我还专门翻看了一下相册，找到了一张特别珍贵的照片，这张照片是在大约一年前的时候拍的，是我跟我一些同事在一个会议室里面大家讨论小程序，当时叫应用号。照片上写了几个字，“应用号，2016年1月9日”，底下还有几个字，“启动日”，今天离当时的启动日只有几天的时间，这个照片上的人可能大家会觉得比较陌生，但对我来说很熟悉，并且特别亲切。我特别感谢照片上的这些人，以及他们背后的团队，这一天我们定下启动日到现在，头一次把我们要做的事情先对外做了一个报告，然后在一年以后来报告我们一年努力的结果。</p>
<p>当时我们在讨论订阅号和服务号的关系，其实我们很早就在想微信应该有一种新的形态，不应该只是停留在订阅号或者公众号，不应该只是提供一种订阅能力，一种推送能力，而是应该提供更多新的能力，这种新的能力更加像一种应用程序的能力。当天晚上我记得有一个开发的小伙子拿了他开发了一些接口DEMO，说我们在开发上有这样一些基础的接口可以做，其实那是一个很好的灵感，既然我们能在这样的接口上做出来，那么我们也能做出一些复杂的接口，通过更加复杂的接口实现应用程序所需要的基本元素，沿这个思路一想，我们就不再纠结于怎么样扩充公众号，去把它变成个有更强大功能的公众号，而是完全可以跳开公开号，去做一种新的应用形态，这就是待会要跟大家介绍的小程序。</p>
<h2 id="">从小程序看微信的产品理念</h2>
<h3 id="1">1.再次解释用完即走</h3>
<p>在小程序之前我很愿意用这个时间解释一下去年的这个时候，当时也是在公开课，当时我提出了一个理念，这个理念后来我也发现很多的人说，看了以后觉得不太能够理解，所以我在这花几分钟重新来解释一下这个理念。我当时说，一个好的软件，一个好的工具应该让用户用完即走的，后来发现很多朋友，包括一些业内人士都会来笑话我们，说因为微信有足够多的用户，有足够强大的用户黏性，所以你们可以这样说，但是对于其他的产品来说，大家会觉得怎么样黏住用户，怎么样让用户不要离开才是他们追求的目标。</p>
<p>我想，这里可能对于用完即走有一个很大的不理解，或者说误解。在我看来，这里有一个很简单的逻辑，这个逻辑可以推理出这样一个结果，我认为，任何一个工具都是帮助用户提高它的效率的，用最高效率的方法去完成它的任务，这是工具的目的，工具的使命。微信也是一个工具，所以微信的目的也是帮助用户用最高效的方法去完成它的任务。什么是最高效的方法？就是用最短的时间去完成任务，也就是说一旦用户完成了它的任务，它就应该去做别的事情，而不是停留在产品里面，这就是用完即走的含义。</p>
<h3 id="2">2.微信是工具还是平台？</h3>
<p>在我们对公司的一次培训里面，有个同事问我微信的战略是什么？我当时只说了一句话，我说微信只是一个工具，我们应当想如何做好这个工具。在同事们的心目中，微信并不仅仅是一个工具，大家认为微信是一个平台。但我认为微信是一个工具，这是一个非常宏大的目标，我并不认为一个工具是一个很低层面的东西，事实上人类从原始人进化智能人类的过程，就是因为人会制造工具，我们所用的绝大部分的产品本质上来说都是工具，但是工具有好坏之分，能够做一个非常好的工具其实难度是非常大的，但是如果说我们要做一个平台，我会不知道我们要做什么？一个好的工具应该有一个很强的属性，就是提高效率，用完即走。</p>
<h3 id="3">3.做产品是克制还是自我压制？</h3>
<p>这个理念其实贯穿在我们的产品的每一个点里，举一个例子。我们前不久开了一次内部会议，腾讯创始人之一Tony说，其实微信团队保持了一种很克制的心态来做事情。很多人也认为我们在微信产品里很克制，但其实我当时听到这样的评论是有一点点惊讶，因为克制这个词从来没有在我的脑袋里面出现过，如果说做一些事情我们要求自己很克制的话，那是一种什么样行为？那是一种自我压制的行为，但是我并不认为我们在做这样的决定时我们要自我压制，或者说自己切割掉我们很多想要做的事情，那不是一个很好的状态。</p>
<h3 id="4">4.合理性才是最重要的因素</h3>
<p>相反的，我们在做很多很多决定的时候，反而要去判断什么样的东西是最合理的，合理性才是这里面要考虑的一个最重要的因素，我们会舍弃掉很多很多本来想要做，后来发现做不好的东西，这种舍弃并不是因为说我们很克制，所以我们少做一点，而是说我们发现有很多事情做不好，或者说有很多决定它一开头是错的，或者说很多的想法，最后验证可能是行不通的，那我们如果硬要去做这些事情是不合理的，我们会把它舍弃掉，而不是说我们要克制。</p>
<p>微信里面有很多这样类似的点，我们遵从基础产品体验的理念来帮助我们做决定。就像上一次在公开课里面讲的一样，公众平台甚至没有一个入口给用户推荐你应该订阅什么样的东西，我们的产品有无数这样的地方，也许少量的用户会觉得不能满足他的需求，但是任何一个产品都不可能满足所有人的需求，我们必须要做很多的取舍，而我们希望更多遵从我们自己的产品理念来做这样的取舍。</p>
<p>第一次完整阐述小程序刚才花几分钟回顾了用完即走这样一个产品的理念，现在切入到我们的主题，其实我今天过来是想利用这样一个机会跟大家分享一下我对于小程序的理解和想法。刚才大家看照片的时候，其实这是团队在小程序启动那一天大家当时的状态，在当时来说还没有想好名字叫小程序，也没有把小程序作为一个非常完整的定义，大家只是认为我们应该往这个方向去发展，去提供一种新的服务的形态，当时愿意把它公布出来对我来说是有一点点其他的想法，因为我希望我们把它宣布出来以后给团队更大的一个压力感，既然我们都已经宣布了，那我们一定要去努力做好这个事情。</p>
<p>在过去的一年里，我们又做了很多次的碰撞和思考，在这个过程中小程序慢慢的找到了它的定位，找到了它自己的形态，但是因为之前我们只是做了小程序的内测，从来没有对外界解释过小程序到底是什么，以及它应该怎么样的使用，所以今天我是想利用这个机会完整的阐述一下我们是怎么样来看待小程序的。</p>
<p>我自己也特别兴奋在这样一个时间来讲述小程序的故事，因为对我经历比较了解的人可能知道，我其实之前花了很多年时间去写程序，我认为自己是一个程序员，所以我一直认为做程序员的那段时间特别宝贵，因为当你做一个程序的时候可以进入到一个不太一样的世界，你用一个程序的语言在虚拟世界里构造一个完全虚拟化的产品出来。</p>
<p>我相信很多的程序员都会有一个梦想，我们除了自己去写一个程序，我们能不能再去写一个能运行程序的程序，这是很有意思的事情。通常来说可以运行程序的程序，通常意味着是一个操作系统，我并不认为我们有能力去做一个操作系统，但是我们可以有机会在某种程度上做到一个可以运行程序的程序，那对一个程序员来说他会觉得非常的自豪和兴奋，我今天就是怀着这样一种心情。</p>
<p>说小程序之前，我想先回顾一下PC发展的历程。我经历了最早的PC时代到互联网时代，再到现在的移动互联网，我最早用的是PC是80、86这样的机器，那时候还不能联网，但那时候的应用程序是需要你用一个软盘和光盘安装好，它只能自己跑，跟外界是没有交互的，因为没有网络，那时候的应用程序叫做单机程序，就像单机游戏一样。有了互联网以后，我们进入到一个互联网的范围里，在互联网里我们发现应用程序的定义有了某一种变化，但本质上来说它还是跟单机时代是一样的，它是以一种程序，一种代码的载体形式展现出来，只不过每一个程序它有了可以访问网络的能力，但是互联网我觉得有一个特别伟大的发明，就是www.web协议的出现，使互联网出现了非常大量的网站，而这些网站是可以在网络上被任何人可以访问得到，在那个时代出现了一种情况，我们可以去写一个基于网络的应用程序，我们也可以通过网站去提供服务。大家都非常熟悉，在PC互联网时代的这段历史，因为几乎我们用的最多的工具是浏览器，我们访问大部分的服务其实是来自于浏览器里的各个网站所提供的服务。</p>
<h3 id="5">5.移动互联网的下一站：唾手可得</h3>
<p>几年前我们开始进入移动互联网，对于电脑的使用方法和场景又发生了变化。在PC互联网时代，很多的人，特别是上一代的人因为输入法这样一个障碍是没有办法使用电脑的，但是在移动互联网时代，通过手机使得整个互联网的用户量比以前有了一个巨大的提升。智能手机我认为是一个非常厉害、伟大的创新，因为其实它的功能比当时的PC机要更强，但是它使每一个人都能够使用，使每个人都能通过手机去接触到互联网，这个时候人们访问网络服务的方式其实更多的从一个PC端的应用程序过渡到一种网页的形态。</p>
<p>在这里我想展望一下在移动互联网之后会是什么样的一种形态？就是大家再使用网络会使用什么样的设备去使用网络，或者用一种什么样的方式访问网络的服务？我想这个可能非常难想，我个人会从脑袋里面浮现一些场景出来，就是智能手机之后，有可能是一种类似于眼镜这样的设备，成为主流。当眼镜变得非常非常的智能化的时候，可能整个PC或者电脑的系统会藏在一个眼镜里面，它的屏幕可能比我们现在手机的屏幕还要大，甚至比PC的屏幕还要大，可能是十年以后了，十年以后的技术可能可以做到把一个非常非常大的屏幕投入到视网膜里面，我们通过眼镜可以看到一个非常大的完整屏幕，日常我们就戴着这样一个眼镜到处跑，大家想一下这样一个眼镜是什么样的系统在运行？</p>
<p>当我想到十年以后的场景，我会想那个时候眼镜背后的系统它的应用程序的使用方式应该跟现在不太一样了，我对它的期望是什么呢？我更加希望的是眼镜里面不要再给我一些安装应用程序这样的过程，因为那个是很不自然、很不方便的，我更加希望我的眼镜看到哪里，相关的应用程序就到哪里。举个例子，假如我看到房间里面的一盏灯，我想让这个灯关掉或者打开，当我透过这样一个很智能的眼镜看到这盏灯的时候，我会希望在那个灯的上方会出现一个虚拟的开关，我甚至可以用眼镜去控制这样一个开关，那个开关是什么东西？它其实是出现在真实物体上面的一个应用程序。当我看到这盏灯的时候，它的开关应用程序就自动出现了，同样的你可以想象非常非常多的场景。当你走到一个公园的门口的时候，可能公园门口会出现公园门票的应用程序，也就是说当你看到任何一个眼睛能看到的实物的时候，这个实物背后的信息和应用程序都会自动浮现出现，你通过眼镜或者别的方法控制这样一个应用程序，去启动它，去运行它。这样的一个过程你会发现，我们想象在这样一个虚拟未来的智能眼镜里面，你会发现应用程序已经是完全不同的形态，跟现在手机里面的应用形态是不一样的，它是一种真正的所见即所得的形态，我说的所见即所得不同于在PC时代，我们在画图或者UI上面的所见即所得，而是说我们看到的任何具体的一些事物，它就包含了它的信息，包含了对信息的处理在里面。这是我对于未来应用程序的形态的希望吧。</p>
<p>我认为所有的应用程序应该是一种无处不在，但是又可以随时访问的一种状态，所以小程序在内测的时候，我写了一段文字，说什么是小程序？小程序是一种不需要下载、安装即可使用的应用，它实现了触手可及的梦想，用户扫一扫或者搜一下就能打开应用，也实现了用完即走的理念，用户不用安装太多应用，应用随处可用，但又无须安装卸载。</p>
<p>我刚才说了一个十年以后的场景，这里其实体现了智能眼镜时代和手机时代的一个不同，当然未来是不是智能眼镜时代我也不确定，我只是暂时幻想出来的一个产品，但这种不同会带来应用程序形式的不同，就像智能手机相对于PC时代来说，它其实带来一个很大的形式的不同，这个形式并不只是体现在手机是一个更加浓缩的、可以移动的电脑。</p>
<p>形式上来看是这样一个区别，但是本质上来看，就像好多年前我写了一句话，手机是人的肢体的延伸，PC其实不是，PC是固定的。就像我只有两只手，手机是我的第三只手，或者说是我手的延伸，因为它可以帮助我触达一个更大的世界。PC也可以帮我们进入到一个更大的虚拟世界，但是手机是跟着你的手走的，所以它变成了你的加长的手，它和PC的区别是，我们对于手周边可以触达的东西能够感应到，这也是为什么手机里面的应用会有很多比PC里面的应用更丰富的形态，就像在微信里大家可以摇一摇，但你在PC时代不能把电脑摇一摇，在手机时代我们可以通过扫二维码感应周边，在PC时代你也不可能用PC扫一个二维码，这是真正的含义，就是手机不同于PC的真正含义。</p>
<p>我认为在将来智能眼镜时代同样会有这种区别，眼镜会让我们真正做到所见即所得，你看到的东西就可以得到它背后的东西，这比我们现在用手触摸一个东西得到它背后的信息是更加高级的一种方式。</p>
<p>小程序的特性：无须安装、触手可及、用完即走、无须卸载从这个定义里面可以看出来小程序是什么样的东西：</p>
<p>第一个，小程序是无须安装的，我认为这个对现有的应用程序一个很大的突破。用过windows的人都知道，它有一个最常用的应用，叫做程序管理这样的东西，大家要花很多的精力到里面去看哪些程序占了多大空间，哪些程序应该卸载掉了，哪些程序可能会出问题等等。在智能手机，大家对这个的管理变得更加轻量化，更加轻松，所以很多对电脑不太熟悉的人都可以用手机，但是还是存在一个过程，所有的应用程序都需要你下载它，安装它，然后你才能使用它，这是一个很繁琐的过程，小程序的第一个特性就是免去了下载的过程，可以直接使用它，所以无须安装是小程序最基础的一个特性。</p>
<p>第二个，在这个定义里面有一个词叫触手可及。这个词让我想到很早以前看过一本书是微软的比尔盖茨写了一本书，叫《信息唾手可得》，其实我挺佩服比尔盖茨在互联网刚刚出现的时候他就写了一本这样的书。他当时认为互联网会给大家带来一个很大的变化，就是信息唾手可得。每当我想到他这本书的时候，我其实特别自豪，因为我们在很多年后用另外一种方式实现了信息唾手可得。我这里说的触手可及的意思的是，当我们拿着智能手机接触周边的时候，我们可以通过手机直接获得信息，就是周边的信息，我们获得的方式可能没有未来的眼镜时代那么智能，但是我们可以通过手机对于周边一些基本的传感器，比如说它的扫描能力去和周边产生互动。所以这里的触手可及的意思是，我们看到一盏灯，我们想要去控制它，可能我们只需要用智能手机对着它扫一下，然后控制这盏灯的应用程序就已经启动起来了，在我的手机里，我直接使用它就可以了。在类似博物馆这样的场景里，用户可以在一些不同的内容前面扫一下二维码就可以获知当前物体的背后的信息，这都是触手可及。</p>
<p>第三点是用完即走，我开始花了很大篇幅解释什么是用完即走，对于周边要完成的任务来说我们需要的是用完即走，比如我们到一个餐馆，我们可能想排队或者说点一下菜，我们并不需要去下载这个餐馆的应用程序，我们只需要在餐馆扫一下它的二维码，然后就启动了这个餐馆的小程序，我们可以立即在小程序里排队或者点餐。当我做完这些事情，吃完饭并不需要卸载这个应用程序，我们当它不存在就可以了，是一种真正用完即走的状态。小程序的第四点就是无须卸载，你访问过它的服务，并不需要这里还有一个程序管理器去管理它，我们不需要卸载的过程。通过这四个点我希望大家能看到的是，小程序看起来是程序，但是它以完全不同于过去APP的形状出现，它有更灵活的应用组织形态。大家现在能够明白一个概念，大家可能知道了小程序是一种比我们现有的所有的APP更加灵活，更加唾手可得的一种形态。</p>
<h3 id="6">6.我们为什么需要小程序</h3>
<p>大家可能会想我们为什么需要小程序这样的东西？我们在做小程序的时候，其实我们的目的并不是说从开发人员的角度来说要改变一下应用程序的存在模式，相反，我们肯定是要满足一个特定的需求，这个需求应该是真实存在的，而不是说我们只想变化一下APP存在的方式。</p>
<p>这个需求是什么呢？我们刚才回顾了PC这些年的变化，在没有互联网的个人PC时代，其实企业是很难通过不联网的PC去提供服务的，当时我记得当时有一个企业做了一个PC机里面的程序，那是最早的一个表格的软件，但是这样的软件非常的少，因为绝大多数的企业没有能力去把他们的服务做成一个PC时代的软件提供出来。直到有了互联网，才改变了这个局面，互联网的出现使得所有的企业都能建立自己的网站，通过网站把自己的服务放到网上，让任何可以上网的人能访问得到，所以在PC互联网的时代里面，改变这个世界的并不是有更多的应用程序出现，而是有更多的网站出现了，并且在这个背景底下诞生了非常多伟大的互联网公司。</p>
<p>很快，当移动互联网时代到来的时候，以前通过网站提供服务的企业开始选择通过手机端的APP去提供服务，确实绝大多数的企业都做了这样的尝试，大家去做手机端的APP，然后推荐用户去下载他们的APP。但是现状并不是像这些企业所想象的那样子，在手机时代用户获得了更便利的使用方式，也是更懒的使用方式，越来越多的用户更多的只愿意每天只使用那么几个APP，而不愿意去下载或者使用很多很多APP，这一点跟在PC互联网时代很不一样，PC时代你打开电脑以后，要访问一个网页是很快捷的，你可以从一个网页跳到另外一个网页，大家每天在PC前面花更多的时间是在浏览器上，但是在智能手机时代，包括在座的每一个人，其实打开浏览器的频率会越来越低。可能有一天你要访问20个网站，现在你不会在手机里面每天要打开20个APP，或者为了访问一个企业的服务去下载这个企业的APP，大家不会这样去做的。</p>
<p>移动互联网时代，很多企业会发现他们在智能手机时代反而不如像PC的时代那样子更方便的通过一个网站来解决所有的问题，通过一个网站把所有的服务放到线上去，这也是为什么公众号出来的时候，很多的企业发现公众号可能是一个比他们做APP，做网站更好的方式，通过智能手机把服务提供给用户。</p>
<p>所以公众号的出现是特别令人高兴的事情，因为即使在PC互联网时代这些餐馆他们也没有办法把他们的服务放到网上去，让别人可以访问到。但同时我们也要看到公众号的缺陷所在，公众号是基于订阅和推送的关系，对一个餐馆来说它更多的精力放在怎么样能够收集到更多顾客的名单，它的驱动力在于它怎么样才能够给每天来餐馆的人推送消息，去发送它的一些促销的信息下去。公众号在这这里就变成了客户关系管理或者说是一个消息推送器的角色，这样的角色与PC时代通过一个网站提供服务是有很大不同的，一个网站并不能给用户推送消息，所以它并不会骚扰到用户，但是它又希望获得服务的人能很方便的访问到，从这里可以看出来，在移动互联网时代反而对于大多数的企业来说，他们缺少了一种有效的载体，甚至还不如PC互联网时代那么方便，通过网站可以很方便把他们的服务线上化。</p>
<h3 id="7app">7.小程序的定位：体验比网站好，比下载APP更便捷</h3>
<p>这样一种载体我们认为它是一个有着很强的需求，并且是市场里面空白的一个地方，所以在我们构思小程序的时候其实一直在想小程序它存在的位置在哪里？如果对于这么多的企业来说要把服务线上化，如果发现自己在不停的尝试不同的道路，又去做APP，又去做网站，又去做公众号，但是没有一条很彻底的话，这说明这里面有机会存在。</p>
<p>我记得上一次去深圳机场的时候，注意看了一下深圳机场两边的广告牌，发现一个很有趣的现象，我不知道在座有没有人注意到，深圳机场的广告牌，它的每一面广告牌上都有一个二维码，大部分，80%的广告牌吧，这个二维码是微信公众号的二维码，这个很有意思，因为我们回顾一下在PC互联网时代，那个时候的广告牌其实一般会印一个自己的网站地址在上面，它是一个标配。上次我在深圳机场看到的情况，我自己也很高兴，因为公众号的二维码变成了广告牌的标配，取代了以前的网址。但是让我稍微不太高兴的地方在于，我看到这一面广告，想了解它的服务的时候，却需要去订阅这个公众号，成为它的“订户“，收到它的推送消息。</p>
<p>以前的广告牌会贴一个自己的网址进去，让用户自己去它的网站看一下它有什么样的服务，这是有很大的不同的。我认为一个广告牌不应该在下面贴上用来订阅的号，它应该贴的是可以立即展现服务的链接，这个展现服务的链接应该就是类似于小程序的形态，因为看到这个广告的人并不是说我要订阅你的公众号，收到你的推送，而是说我想体验你的服务，或者我想立即了解这个广告背后的信息，我认为这样一个使命是应该小程序去实现的，就是每一个信息背后，包括广告牌背后包含的是应该是我去扫一下，立即就获得它的信息，或者立即启动了一个小程序，就像以前我们访问一个网站一样的，只不过我们通过一个扫二维码的方式取代了输入网址的方式。</p>
<p>从用户的角度来说，这样一种方式才是用户所需要的。我特别想解释一下小程序对于过去的PC互联网时代，其实它非常的接近于PC互联网的一种网站的服务，网站的服务其实很不同于公众号这样一种订阅形式的，它是一种真正的直接的服务。大家去想一下，把小程序想象成是PC时代的一个网站的话，我相信会帮助大家更好的理解什么是小程序。</p>
<p>2012年5月23日，当时我在朋友圈里发了这样一条消息，PC互联网的入口在搜索栏，移动互联网的入口在二维码。当时是公众号还没有发布，我们只是在构思公众号这样一种东西，这个其实反映了PC时代和智能手机时代很大的区别。PC时代我们通过网站来获取服务，确实，我们要先找到这个网站，所以搜索框在当时特别重要，但是在智能手机时代，我们要获取服务的话，更多的是跟线下有关，跟线下有关的服务其实就目前手机技术的实现来说，可能通过扫二维码是最简易的一种方式，跟周边产生联系，并且获取服务。所以二维码在微信里的重要性一直都很高，从添加好友到订阅公众号等等，它都是微信里的一个基础入口，扫一扫也是微信里一个非常非常基础的功能，扫一扫甚至变成了微信去触达周边的一个最基本的方式。</p>
<p>刚才我们通过从PC到互联网到智能手机时代的回顾，以及企业通过什么样的方式来提供服务的一个回顾，看到小程序对应过去互联网的网站服务，只不过它在智能手机里我们希望不是像过去的网站那样原始的体验，我们希望它以一种更好的体验出现，所以我们定义了小程序这样一个东西出来。本质上来说，我们更希望在智能手机里用户可以更快捷的获取服务，但是他的体验又比网站要好很多很多，同时他的麻烦程度又比他去下载一个APP要好很多很多，它不像下载一个APP那么麻烦，这个就是小程序的定位。</p>
<p>关于小程序，大家关心的几个问题后面这一段时间我会列出几个大家关心的问题。</p>
<p>第一个问题：小程序的入口在哪里？</p>
<p>小程序在微信里是没有入口的，很多人看到微信开始内测小程序，大家说这是一个新的机会，我们应该第一波上去，去获得一些流量上的红利，但是那就非常遗憾，公众号在微信里面其实也没有入口，一个用户如果没有订阅过任何一个公众号，他在微信里面找不到这样一个入口，小程序也是一样的，如果一个人没有去运行过任何一个小程序，他在微信里也是找不到小程序的入口。</p>
<p>这跟之前提到的一些产品理念相关，在微信里我们一直在倡导去中心化的结构，所以你到现在都不可能看到在微信里会有一个订阅号的入口，里面有一个分类，有排序或者有推荐这样的东西存在，这一点从公众号的第一步就坚持是这样的，这个对公众号平台带来了很大的好处，因为当微信没有这样一个入口的时候，所有提供公众号服务的企业他们会想办法把自己的二维码铺到所能够铺的地方去，那就真正实现了公众号的入口其实不是在微信里面，而是在二维码里。</p>
<p>如果是我们有一个基础的入口的话，那大家可能抢夺的都是微信里的入口，如果我们有推荐的话也不是一个好事情。</p>
<p>我们的推荐就会变得有更多人订阅。</p>
<p>所以对于小程序来说，可以想象一下未来的小程序用户更多是从哪里去启动它？我们更多的是希望小程序的启动来自于扫二维码。前不久跟一个合作伙伴的公司在聊这个话题，他们希望能够知道小程序的发布时间，好做一些准备。</p>
<p>他们提出一个场景我觉得特别的切合，他们说现在汽车票其实没有电子化，所有人去坐汽车的话必须要去汽车站现场去买一张票，这是一个很痛苦的过程，你要去排队买票，然后再去坐车，他们希望用小程序来解决这个问题，只需要在每一个汽车站立一个二维码，所有到汽车站的人扫一下二维码就启动购票的小程序，然后直接通过小程序来买好票，这样售票窗口就不用存在了，我认为这是一个非常贴合小程序的想法。</p>
<p>这样的想法会有很多很多，昨天跟我们小程序这一块的同事在聊，他们说有人做了一个小程序特别方便，是在公交站里面等公交站的时候，想要知道下一班车什么时候来，这个时候只要扫一下公交站的二维码，启动公交站的小程序就可以看到下一班车什么时候来，这也是特别典型的一个小程序的场景。</p>
<p>所以至少在前期我们会更多的鼓励小程序以二维码的形式出现在每一个地方，就像公众号的早期一样。</p>
<p>第二个问题是，会不会有一个类似于小程序商店的地方，可以去下载小程序？</p>
<p>其实是不会有的，大家可以推理出来，我们没有下载过程，所以不存在一个应用商店去下载。</p>
<p>但是大家会说我想在里面去浏览，去找一些小程序，查找是另外一回事，搜索是另外一回事，但是我们并不会存在一个小程序的商店，所以我们也并不会像外界所猜测的那样，做一个APP的分发想法。</p>
<p>从一开始我们就没有这个想法，就像公众号从来不会有一个公众号中心，里面可以分门别类列出所有的东西出来，不会有这样的东西，我们认为应该没有一个中心入口，是去中心化的形态，所以我们也不会做小程序的分类、排行、推荐。</p>
<p>关于推荐大家可能会有一些自己的想法，大家可能会认为为什么不把用户感兴趣的一些东西推荐给他？</p>
<p>其实我们也可以把这个想法用到公众号里，我们不会做这样的事情，将来也不会做这样的事情。</p>
<p>在微信里我们曾经考虑过对机器推荐和一个人的社交推荐的差异，朋友圈其实是类似于社交推荐，你每天会在朋友圈看到很多的文章，你的朋友其实起到了一个推荐器的作用，使得你不用依赖系统的推荐。</p>
<p>如果我们系统来做可能没有你的朋友们做得好，因为系统不会给你推荐一些你没有接触过的东西，系统只会强化你接触过的信息，并且不断地去学习你的历史，往你的历史方面继续推荐，但是你的朋友可能在朋友圈里面说，某一部电影很好看，那你会因为你的朋友去看了这部电影而去看这部电影，机器是无法理解这一点的，机器只会采集你过去看过的电影，然后把你看过电影的类型整理出来，认为你就喜欢这一类型的电影，但是你朋友推荐的电影可能是你完全没有接触过的电影形态，所以微信里更多是依赖于社交推荐。</p>
<p>小程序这里也是一样的，你可能会使用千奇百怪的小程序，但是我们不会因为你已经使用了一款，比如说学英语的小程序就反复给你推荐学英语的小程序，这个话题也不在这里展开了。</p>
<p>第三个问题是小程序与订阅号的关系？</p>
<p>相信很多人会关注这样一个问题，如果我们做一个公众号，我们会收获到很多的订阅用户(即粉丝)，并且大家会从粉丝数来判断自己这个号的价值，但是小程序不会像订阅号，所以如果你做一个小程序，不能依赖于我的目的是要收获多少粉丝，粉丝并不意味着访问量，并不是说你有足够多的粉丝你就有足够大的访问量。</p>
<p>大家可以回想一下刚才的例子，在PC互联网时代，你访问一个网站并不需要你成为这个网站的粉丝，并不需要你去订阅它，如果所有的网站需要你订阅了才能看它的信息的话，网站可能早就已经死掉了，所以对于小程序来说也是一样的，它只有一种访问的关系，而不是一种粉丝的关系，所以它跟公众号从本质上来说是截然不同的，小程序不是一种公众号，它是一种新的形态。</p>
<p>第四个问题是小程序能不能推送消息？</p>
<p>可能也是很多人非常关注的，答案是不能，因为如果小程序能推送消息的话，那就意味着你访问的每一个网站都会发一条消息给你，那你可能会崩溃掉，所以它是不能推送消息的，但是我们会提供比较有限的服务触达能力，你以前访问一个网站的时候可能会留下自己邮件地址，当你要的服务有的话这个网站会给你发一个邮件，小程序也类似，当你在小程序里面做了一个操作，并且希望收到后续通知的时候，我们会提供这样一个通知的机制，使你可以通过小程序给你的用户发送一条他所需要的通知，但这个通知不是说谁来过的小程序就能获得一条推送，而是说这个用户在小程序里面主动的确认了他需要获取一条后续的通知，所以它是一种很有限的通知的能力。</p>
<p>看起来我们对这种通知的能力限制的非常的严格，其实这也是没有办法的事情，就像我刚才举的一个例子，你在一个网站里面留一个地址，你就会收到很多垃圾邮件，我们并不希望这样的事情在小程序里面再次发生。</p>
<p>第五个问题是小程序能不能够分享？</p>
<p>当然有一个问题就不列出来了，小程序能不能分享到朋友圈？肯定不能，这就不作为一个问题了。</p>
<p>但是小程序可以分享到聊天里面，可以分享到群里面。</p>
<p>其实分享到群里面和聊天里面是有非常大的一个想象空间。</p>
<p>我记得我们内部在讨论这个功能的时候，把一个小程序分享到一个群里面的时候，其实刚开始的形态是非常简陋的，就是我把一个小程序发到一个群里面而已，那只是利用群做了一个传播，让这个群里面的使用这个小程序。</p>
<p>但是其实小程序的分享不仅仅是这样子，小程序的分享更多的是希望能够带来一种新的协作的方式。</p>
<p>举一个例子，当我把一个投票的小程序发到群里的时候，意味着群里面的每个人可以立即启动这个小程序，并且利用投票，每个人可以看到其他人的投票。</p>
<p>对于一个群来说，这个小程序带有每个人的登录状态，大家访问的是同一个小程序的任务。</p>
<p>基于这样群的任务，它可以被群里面的所有人共享，当任何一个人更新群里小程序状态的时候，群里其他人都是可以看到的，基于这个想法你可以想象得到，可能会存在非常多的一些协作式的小程序。</p>
<p>我们还提出了关于小程序页的概念，比如说一个股票的小程序，我分享的只是我当前所看到的0700股票的这一页，然后分享到一个群里面去了，群里面的人看到的也是0700这样一个股票的页面，我们把它叫做小程序页。</p>
<p>这里我们希望的是，我分享到群里的是一个活的数据，是当前我看的信息。</p>
<p>我的意图并不是说把一个程序分享到群里面让大家重新运行这个程序，我只是分享了一个活的信息过去，而且在未来我们更希望的是，当然现在还没有做到，我们更希望的是我分享到群里面这一页的信息它是活的，所谓活的意思就是当它出现在一个聊天里的时候，你甚至不用点进去你就能看到这个小程序的表现。</p>
<p>例如说我分享一个时钟的小程序到群里面，那么群里面每个人看到这个小程序，不用点进去就可以看到已经有一个时钟在那里运转。</p>
<p>暂时这个形态还没有实现出来，但是我个人非常期待。</p>
<p>我相信这种协作式的任务，对于小程序的分享会起到一个很大的帮助，我们可以在里面构思出非常多的需要群组一起完成任务的小程序。</p>
<p>第六个小问题，很多人会问小程序能不能做游戏？</p>
<p>我们现在并不能。</p>
<p>第七个小问题是小程序能不能被搜索到？</p>
<p>会有非常多人说我们早一点做小程序，然后就可以很好的利用这样一个前期的流量，这里特别遗憾地说，我们更希望小程序不是基于一种流量分发的方式获取用户，就像刚才说的我们更希望小程序是通过一种用户触达的方式，当用户需要的时候触达到它，然后使用它，而不是不需要的时候推荐给他使用，所以用户能搜到小程序，但是我们可以极力限制它搜索的能力，避免它滥用，使得用户在微信里面能够搜索得到他需要的一个小程序。</p>
<p>第八个小问题是小程序和公众号的关系是怎么样的？</p>
<p>刚才大家明白了小程序和公众号是一种很独立的关系，但是因为很多的公众号和小程序他们可能是一个企业开发的，所以它们应该有某种关联，目前我们提供的一种关联是，你在公众号里面可以看到这个公众号同一个企业还做了哪些小程序，或者你在一个小程序里面你也可以看到，做这个小程序的企业还做了哪些公众号，他们是可以互相跳的。</p>
<p>还有一个小问题是，既然小程序会突出二维码，那么微信里面会不会对于线下的店会有一些提示，在目前这一阶段我们可能会很轻量地让用户能够看到在他附近还有哪些小程序存在，我们说的附近的小程序存在是指附近有哪些在提供服务的店，他们同时也有小程序。</p>
<p>比如说在三公里以外有一个士多店，那么你可以看到并立即打开它的小程序，然后买一点什么东西，这是很有可能的。</p>
<p>看了一下，我列的大纲里面基本上没有很大的遗漏，对于小程序的阐述基本上就到这里，占用了大家非常多的时间，希望我能够讲的比较清楚吧，非常感谢大家。</p>
<p>可能大家还会关注一个问题，小程序到底什么时候可以用？我们希望1月9日小程序可以被所有的用户所使用，我们也希望1月9日开始能够有更多的企业把他们的服务变成一种小程序的形态，提供给微信的所有用户来用。</p>
<p>我今天的演讲就到这里，非常感谢大家，谢谢！</p>

                    
                    </section>
                
                
                </div>
            </div>
        </div>

        
        <a href="../201601/README.html" class="navigation navigation-prev " aria-label="Previous page: 2016.01"><i class="fa fa-angle-left"></i></a>
        
        
        <a href="../201801/README.html" class="navigation navigation-next " aria-label="Next page: 2018.01"><i class="fa fa-angle-right"></i></a>
        
    </div>
</div>

        
<script src="../gitbook/app.js"></script>

    
    <script src="https://cdn.mathjax.org/mathjax/2.4-latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    

    
    <script src="../gitbook/plugins/gitbook-plugin-mathjax/plugin.js"></script>
    

<script>
require(["gitbook"], function(gitbook) {
    var config = {"fontSettings":{"theme":null,"family":"sans","size":2}};
    gitbook.start(config);
});
</script>

        
    </body>
    
</html>
